package com.io.utility;
import java.io.File;
import java.util.Collection;


public interface IUtility {
	/**
	 * The method prints the type of the collection.
	 * 
	 * @param collection - the collection to get the type of
	 */
	void printCollectionType(Collection collection);
	
	/**
	 * The method finds the original object in the collection.
	 * 
	 * @param collection - the collection to search in for the original object
	 * @return - the original object found
	 */
	Object findTheOriginal(Collection collection);
	
	/**
	 * The method makes a new collection from the base collection,
	 * using only objects from the same type.
	 * 
	 * @param baseCollection
	 * @return
	 */
	Collection makeNewCollection(Collection baseCollection);
	
	/**
	 * The method prints the methods of the class of the objects in the given collection.
	 * 
	 * @param collection 
	 */
	void printMethodsFromClass(Collection collection);
	
	/**
	 * The method serializes the objects in the given collection.
	 * 
	 * @param collection - the collection containing the objects to serialize
	 * @param file - the file to serialize the objects into
	 */
	void serializeObjects(Collection collection, File file);

	/**
	 * The method sends the given file to mail.
	 * 
	 * @param file - the name of the file to send via e-mail
	 * @param mail - the address to send the file to
	 */
	void sendFileToMail(String file, String recipient);

}
